import { ref, computed } from 'vue'
import { defineStore } from 'pinia'

export const UserTokenStore = defineStore('token', () => {
  // 从 localStorage 获取 token，若不存在则默认为空字符串
  const token = ref(localStorage.getItem('token') || '')

  // 设置 token 到 localStorage 并更新 ref
  function setToken(newToken) {
    token.value = newToken
    localStorage.setItem('token', newToken)
  }

  // 获取 token（直接返回 ref）
  function getToken() {
    return token.value
  }

  // 从 localStorage 删除 token
  function removeToken() {
    token.value = ''
    localStorage.removeItem('token')
  }

  // 可选：计算属性，比如你可以使用 doubleCount 来做一些其它逻辑
  const doubleCount = computed(() => token.value.length * 2)

  return {
    token,
    setToken,
    getToken,
    removeToken,
    doubleCount
  }
})
